CAE Evaluator, for the CAE Analyst
Abaqus INP Comprehensive Analyzer
Version 15.8
User Manual
A Free Tool for the FEA Community
March 2026
Joseph P. McFadden Sr
The Holistic Analyst
www.McFaddenCAE.com | McFadden@snet.net
Why This Tool Exists
After 45 years in finite element analysis, I have seen the same patterns repeat across every organization, every solver, and every generation of engineer. Models get built, simulations get run, results get reported. But the fundamental question almost never gets asked: do you actually understand the model you just submitted?
Most engineers know their preprocessor. They know how to mesh, how to assign materials, how to set boundary conditions. What they often lack is the ability to interrogate their own model at a level that goes deeper than the GUI. When something goes wrong in a simulation, the first instinct is to look at the results. The better instinct is to look at the input.
The Abaqus INP file is the single source of truth for any Abaqus simulation. Everything the solver will do is written in that file. Yet most engineers never read it. The INP Comprehensive Analyzer exists to bridge that gap. It reads the INP file the way the solver reads it, and presents what it finds in a way that supports engineering judgment rather than replacing it.
This tool is free. It will always be free. I built it because I believe the FEA community deserves better insight into their own models, and because the best way to improve simulation quality across an organization is to make inspection easy.
A Living Tool
Version 15.8 represents months of development, testing, and refinement based on real-world production models from mobile device drop simulations. But it is not finished. This tool will continue to improve based on community feedback. If you find a feature that does not work correctly, a model type that is not handled well, or a capability you wish existed, I want to hear about it.
Send feedback, feature requests, bug reports, or just your thoughts to McFadden@snet.net. Every message gets read. The best improvements have come directly from engineers using the tool on their own models and telling me what they need.
Platform-Agnostic Philosophy
Although this tool reads the Abaqus INP format, the engineering principles it teaches and the analysis it performs apply across all major FEA solvers. Mesh quality, material property verification, contact definition review, and mass/volume checks are universal. Whether you work in Abaqus, LS-DYNA, ANSYS, or Nastran, the concepts are the same. The solver is a tool. Your engineering judgment is the irreplaceable element.
Development Credits
This tool was developed by Joseph P. McFadden Sr in collaboration with multiple AI advisors. Claude (Anthropic) serves as the primary coding and writing partner. Gemini (Google DeepMind) contributed the vectorized volume calculator optimization. Perplexity provided performance bottleneck analysis and optimization strategy. Grok (xAI) provided architecture review and performance guidance. ElevenLabs provides text-to-speech narration for the companion audiobook series.
Getting Started
System Requirements
• Windows 10 or Windows 11 (64-bit)
• No Python installation required when using the standalone EXE
• 16 GB RAM recommended for models over 1 million elements
• For Python script use: Python 3.10 or later with numpy, scipy, and matplotlib
Installation
Extract the AbaqusINPAnalyzer distribution folder to any location on your computer. No installer is needed and no administrator privileges are required. Double-click AbaqusINPAnalyzer.exe to launch the application.
ℹ️ When launching for the first time, Windows may show a security warning. Click “More info” then “Run anyway.” The application is not signed with a code certificate, which triggers this one-time warning.
Processing Your First File
1. Click Browse and navigate to an Abaqus .inp file
2. Click Process to begin analysis
3. The analyzer will present several dialogs during processing: Part Name Validation (choose naming scheme), Orphan Mesh Detection (for HyperMesh files), and Unit System Detection (confirm or override the detected units)
4. Accept the recommended defaults for your first run
5. The Success dialog shows material count, part count, component count, and any best practice findings
6. Explore the tabs to examine your model
ℹ️ For large models (1 million+ elements), processing takes 20 to 40 seconds. The progress dialog shows the current phase. Do not force-close the application during processing.
What the Analyzer Does
When you process an INP file, the analyzer performs these operations in sequence: reads the file and any *INCLUDE references, extracts summary statistics, parses all material and section definitions, identifies parts by material and section combination, calculates volume and mass for every part, detects interface nodes between parts, parses contact and constraint definitions, categorizes 1D elements (springs, dashpots, connectors), counts ELSET components for HyperMesh compatibility, and generates best-practice recommendations. Every phase is timed and reported in the debug log.
Application Tabs
Summary
The Summary tab provides a high-level overview of the entire model. It reports the number of files processed (including *INCLUDE references), the simulation type (Dynamic Explicit, Static, Modal, etc.), complete mesh statistics with node and element counts broken down by element type, material and section counts, assembly structure with instances and transformations, set and surface definitions, analysis step details with time periods and incrementation, initial conditions, predefined fields, gravity and loads, boundary conditions, contacts and interactions, friction definitions, amplitude curves, solver controls, hourglass settings, and output requests.
When unit detection is active, the Summary tab shows values with appropriate units. The Model Mass section displays total parts, volume, and mass. V15.8 appends ELSET component counts and 1D element summaries at the bottom of the summary.
Materials
Lists every material defined in the model with full property details. Selecting a material shows all section assignments that reference it, the raw material definition lines, and which parts use that material with mass and element counts for each.
Features include: search and filter by material name, Export Material CSV for spreadsheet analysis, Export DOT Graph for a visual material-to-section-to-part relationship diagram, and Evaluate All Materials or Evaluate Selected for property quality assessment against industry standards.
Property Viewer
Provides raw numerical inspection of material property data tables. Select a material from the left panel, then select a specific property dataset (Elastic, Density, Plastic, Hyperelastic, Damping, etc.). The data grid shows the numerical values exactly as they appear in the INP file, with automatically inferred column headers.
This tab is essential for verifying that material properties imported correctly from your preprocessor, especially temperature-dependent and rate-dependent data where table formatting errors are common.
Plotting
Generates matplotlib plots of material property curves. Select a material and dataset, choose axis labels and scaling, then click Plot. Supports overlay plotting for comparing properties across multiple materials. Useful for visualizing stress-strain curves, temperature-dependent elastic modulus, viscoelastic relaxation data, or any tabular material property.
Sections
Lists all section definitions organized by type (Solid, Shell, Membrane). Selecting a section shows its material assignment, ELSET reference, part association, and the raw definition line from the INP file. The Parts Using This Section panel shows every part that references this section with mass and element counts.
Use Export All Sections CSV for a complete section inventory or Export Section Parts CSV for the part-section mapping. This tab is critical for verifying that every element set has a section assignment and that section-material pairings are correct.
Parts
The primary analysis view. Shows all identified parts with volume, mass, material, density, element count, node count, and interface node count. The banner at the top identifies the model type (Structured Model, Orphan Mesh, Mesh-Only, or Simple Model) and shows both the part count and the ELSET component count for HyperMesh compatibility.
Single-click a part to see its full details. Multi-select parts (Ctrl+Click or Select All) to see aggregate statistics. The part list shows material assignments and mass values inline.
Part Relationships
The bottom of the Parts tab provides relationship analysis tools. Find Nearest Parts identifies spatially adjacent parts. Interacting Parts shows TIE constraints, contact pairs, and couplings. Common Nodes finds parts sharing the same nodes (indicates tied or merged mesh). Check Penetrations tests for initial contact overclosures. Find Coincident Surfaces detects overlapping surface geometry. Suggest Pairs for Penetration Check recommends which part pairs are close enough to warrant penetration testing.
Export Capabilities
From the Parts tab you can export individual parts or multi-part assemblies to STL format for visualization, or to INP format for model extraction. The STL export includes curvature-based quality recommendations and configurable resolution settings per part.
1D Elements (New in V15.8)
Dedicated analysis of non-geometric elements that are often invisible in preprocessors but critical for simulation accuracy. The tab reports spring elements (SPRING1, SPRING2, SPRINGA), dashpot elements (DASHPOT1, DASHPOT2), connector elements (CONN3D2), and point mass elements (MASS, ROTARYI, MASSINERTIA).
The left panel lists all 1D elements with type filter radio buttons (All, Springs, Dashpots, Connectors, Point Masses). Each entry shows the element ID, type, connected node IDs, and stiffness or damping values where available.
Selecting an element shows full details: node connectivity, ELSET assignment, type-specific properties (stiffness, damping coefficient, DOF assignments), behavioral classification (linear vs nonlinear), and an explanation of the element type and its typical engineering application.
The bottom panel shows all SPRING, DASHPOT, CONNECTOR SECTION, and CONNECTOR BEHAVIOR keyword definitions found in the file, including nonlinear force-displacement curves for springs and elasticity/damping data for connector behaviors.
Recommendations
Displays automated best-practice recommendations categorized by severity: Critical (red), Warning (yellow), Info (blue), and Suggestion (green). Recommendations cover mesh quality, contact definitions, mass scaling, output requests, hourglass control, boundary conditions, and simulation setup.
Each recommendation includes a title, severity level, category, and detailed description with suggested corrective actions. Critical findings indicate issues that may produce incorrect results. Warnings indicate practices that reduce accuracy or robustness. Info items are observations for awareness. Suggestions are optional improvements.
Edits
Proposes automated modifications to the INP file for common best-practice improvements. Select desired edits using checkboxes, preview the changes showing before-and-after, and apply to generate a modified INP file. Available edits include tie constraint hardening (adding POSITION TOLERANCE), contact stabilization parameters, output request additions, and other solver-specific improvements.
Learning Center
An interactive reference library of FEA best practices and analysis type tutorials. Topics are organized by category (Analysis Types, Best Practices) and difficulty level (Beginner, Intermediate, Advanced) with color-coded indicators.
Analysis type topics include Modal Analysis, Shock Analysis, SRS, Random Vibration, and Harmonic Response. Each topic provides comprehensive educational content explaining the physics, setup requirements, common pitfalls, and interpretation guidance.
Five analysis types include a Generate Example INP button that creates a complete, working Abaqus input file customized with your choice of material, element type, boundary conditions, and analysis parameters. Every option includes guidance explaining when and why you would use that particular choice. The generated INP files can be processed by the analyzer itself for a hands-on learning experience.
Best practice topics cover jerk and fragility assessment, output requests and post-processing, modeling thin brittle materials (glass, ceramics), millisecond unit systems, and additional topics from the best practices module when available.
Tools Menu
Unit System Detection
The analyzer detects the likely unit system by matching material property values (elastic modulus, density) against a built-in library of common engineering materials. It presents the detection results with a confidence percentage, matched materials, and the evidence used for classification. You can confirm the detected system or select a different one from the list of supported systems.
Supported unit systems include tonne-mm-s-MPa, kg-mm-s-MPa, kg-m-s-Pa, kg-mm-s-Pa, lb-inch-s-psi, kg-mm-ms-GPa, g-mm-ms-MPa, tonne-mm-ms-GPa, and g-mm-s-Pa.
Check Unit Consistency
Analyzes all material properties in the model for internal consistency with the selected unit system. Reports any materials whose property values fall outside expected ranges, which may indicate unit conversion errors or data entry mistakes.
Simulation Intent Analysis
Automatically classifies the simulation purpose by analyzing step types, boundary conditions, contact definitions, load types, and output requests. Scores 17 possible engineering purposes including drop test, crash analysis, static loading, modal analysis, thermal analysis, fatigue, vibration, and others. Shows confidence-scored classifications with evidence chains explaining why each purpose was identified.
The interactive dialog allows you to accept, reject, or redirect the classification. When you correct the classification, the tool performs a gap analysis showing what is missing or incorrect in the model for your stated purpose, and suggests conversion steps to adapt the model.
Model Quality Report
Generates a comprehensive 7-section quality scorecard covering mesh quality (element types, aspect ratios), material completeness (missing properties, suspicious values), contact definitions (gaps, overclosures), boundary conditions (over/under-constraint), solver settings (time step, mass scaling), output requests (completeness), and overall model readiness. The report can be exported as text for QA documentation.
Debug Console Output
Toggles detailed diagnostic output on and off. When enabled, every processing phase is timed and reported with precise measurements. A debug log file is automatically created next to the INP file being processed. The log file contains the complete processing trace including timing data, part identification details, volume calculation results, and any warnings or errors.
The setting persists between sessions. When distributing the EXE to team members, ask them to enable debug output before processing so the log file captures the data you need for troubleshooting and performance analysis.
Open Last Debug Log
Opens the most recently created debug log file in the system default text editor. The file is located in the same directory as the processed INP file with the naming pattern: [INP_name]_debug_[timestamp].log.
Key Concepts
Part Identification
The analyzer identifies parts using a prioritized strategy. For structured models with Part blocks, it uses the actual part names from the INP file. For HyperMesh orphan mesh files, it parses standalone ELSET blocks and connects them through sections to materials, grouping elements by unique material-plus-section combination. For files with ELSET names on element declarations, it uses those names directly.
The ELSET component count shown in the Parts tab banner represents the total number of unique ELSET names across all elements, which corresponds to the component count in HyperMesh. This may differ from the material-section part count because multiple HyperMesh components can share the same material and section assignment.
Volume and Mass Calculations
Volume is calculated using vectorized numpy operations for performance. Tetrahedral elements use the exact analytical formula. Hexahedral elements are decomposed into five tetrahedra. Wedge elements are decomposed into three tetrahedra. Shell and membrane elements report zero volume (they have area, not volume).
Mass is calculated from volume multiplied by material density. The analyzer automatically detects and converts between density unit conventions: values greater than 1e-5 are treated as g/mm³ and converted to tonne/mm³ for the standard tonne-mm-s system.
1D Elements vs Geometric Parts
The analyzer separates elements into two categories. Geometric elements (C3D8R, C3D10M, S4R, R3D4, etc.) form the structural mesh and are assigned to parts with volume and mass. Non-geometric elements (SPRING1, SPRING2, SPRINGA, DASHPOT1, DASHPOT2, CONN3D2, MASS, ROTARYI) serve functional roles like modeling joint compliance, damping, or added mass. These are reported in the 1D Elements tab rather than being included in geometric part counts.
ℹ️ A part named “spring” in your preprocessor does not necessarily contain spring elements. HyperMesh component names describe the physical part, not the element type. A leaf spring modeled with solid hexahedral elements is a geometric part, not a 1D element.
HyperMesh Orphan Mesh Files
HyperMesh exports INP files as orphan meshes where all geometry is in a single flat block without Part structures. Components are defined through standalone ELSET blocks that list element IDs separately from the *ELEMENT declarations. The analyzer parses these standalone ELSETs, identifies which ones are referenced by section definitions, and back-assigns the ELSET names to elements to enable proper part grouping by material and section.
Performance
Processing Times
V15.8 includes significant performance optimizations. The element lookup index eliminates redundant scanning, and per-part node subsetting reduces the data passed to the volume calculator from the full model to only each part’s own nodes. Together these changes reduced processing time for a 1.1 million element model from over 2 minutes to approximately 25 seconds.
Model Size Elements Nodes Time
Small < 100,000 < 200K 2–5 sec
Medium 100K – 500K 200K–1M 5–15 sec
Large 500K – 2M 1M–4M 15–30 sec
Very Large 2M+ 4M+ 30–60 sec
Pipeline Timing Breakdown
Enable Debug Console Output (Tools menu) to see per-phase timing. A typical breakdown for a 1.1M element model shows: file reading 1.7 seconds, summary parsing 1.4 seconds, material parsing 0.6 seconds, node coordinate parsing 2.8 seconds, element connectivity parsing 5.4 seconds, ELSET parsing 1.2 seconds, element index building 0.2 seconds, and volume/mass calculation 11.5 seconds.
Troubleshooting
The analyzer shows only 1 part for my large model
This typically means the INP file has no ELSET declarations on the ELEMENT lines and no standalone ELSET blocks that the analyzer can connect to section definitions. Check that your preprocessor is exporting ELSETs. In HyperMesh, ensure components are exported with their ELSET definitions.
Parts show Material: N/A
This was a known issue in earlier versions where the material name was not propagated from the part identification phase to the volume calculation results. V15.8 fixes this. If you still see N/A, ensure the INP file has both MATERIAL definitions and SOLID SECTION (or *SHELL SECTION) definitions linking materials to element sets.
The Sections tab shows No parts found
This means the section references an ELSET name that the analyzer could not match to any elements. This most commonly occurs when standalone *ELSET blocks are not being parsed correctly. Enable debug output and check the log for the “parse_standalone_elsets” line to see how many ELSETs were found and how many elements were back-assigned.
Volume shows 0.0 for shell or membrane parts
This is correct behavior. Shell and membrane elements have area but not volume. The analyzer reports zero volume for these element types. Mass may still be calculated if the section definition includes a thickness and the material has density defined.
Console shows RuntimeError: main thread is not in main loop
This is a harmless tkinter cleanup message that appears when reprocessing a file. It does not affect results or functionality. It occurs because Python’s garbage collector tries to clean up old tkinter variables on the processing thread rather than the main GUI thread.
The application hangs during processing
For very large models (8M+ elements), processing can take 60 to 120 seconds. The progress dialog should show status updates. If the application has been completely unresponsive for more than 5 minutes with no progress dialog visible, it may have encountered an error. Close and relaunch, enable debug output, and try again. The debug log will capture where the failure occurred.
Feedback and Contact
This tool exists for the FEA community. Your feedback directly shapes its development. If you encounter a model that does not process correctly, a feature that would improve your workflow, or a concept that should be added to the Learning Center, I want to hear about it.
What Helps Most
• Specific observations: “The analyzer shows 122 parts but HyperMesh shows 123 components for file X”
• Debug log files from models that produced unexpected results
• Feature requests with use cases: “I need to check spring free lengths for drop simulation review”
• INP files (or excerpts) that demonstrate a parsing issue
• Suggestions for Learning Center topics
How to Reach Me
• Email: McFadden@snet.net
• Web: www.McFaddenCAE.com
Every message gets read. The most impactful improvements to this tool have come from engineers using it on real production models and telling me exactly what they needed.
Thank you for using the INP Analyzer.
Combating Engineering Mind Blindness.
— Joe McFadden, The Holistic Analyst
© 2026 Joseph P. McFadden Sr. All rights reserved.
.